home *** CD-ROM | disk | FTP | other *** search
Wrap
package com.ibm.ivj.testpilot.model; import com.ibm.ivj.testpilot.utils.ClassUtils; import java.lang.reflect.Array; public class ArrayConstructorModel extends ExecutableModel { private static String copyright = "Licensed Material - Property of IBM IBM(R) VisualAge(R) for Java(TM), Version 3.5 (C) Copyright IBM Corp. 1997, 2000- All Rights Reserved. US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp."; private Class arrayType = null; private MemberModel detailsMember = null; private int numberOfDimensions = 0; private ArrayDimensionsModel dimensionsModel = null; private static final String lengthText = ResourceHandler.getHandler().getMessage("LENGTH"); public ArrayConstructorModel(MemberModel var1, Class var2) { super(var1); this.initializeArrayType(var2); ((MemberModel)this).initializeName("new " + ClassUtils.getShortNameFor(var2)); this.initializeNumberOfDimensions(ClassUtils.getDimensionsFor(var2)); } public Class getActualType() { return this.arrayType; } private Class getArrayType() { return this.arrayType; } public MemberModel[] getConciseMembers() { return MemberModel.noMembers; } public Class getDeclaredType() { return this.arrayType; } public MemberModel getDetailsMember() { if (this.detailsMember == null) { ArrayDimensionsModel var1 = this.getDimensionsModel(); int var2 = this.getNumberOfDimensions(); switch (var2) { case 0: this.detailsMember = MemberModel.nullModel; break; case 1: this.detailsMember = ((ObjectModel)var1).getMembers()[0]; this.detailsMember.initializeName(lengthText); break; default: this.detailsMember = var1; } } return this.detailsMember; } public ArrayDimensionsModel getDimensionsModel() { if (this.dimensionsModel == null) { this.dimensionsModel = new ArrayDimensionsModel(this.getNumberOfDimensions()); } return this.dimensionsModel; } public MemberModel[] getMembers() { return MemberModel.noMembers; } private int getNumberOfDimensions() { return this.numberOfDimensions; } public boolean hasResult() { return true; } private void initializeArrayType(Class var1) { this.arrayType = var1; } private void initializeNumberOfDimensions(int var1) { this.numberOfDimensions = var1; } public void invoke() throws Throwable { Class var1 = ClassUtils.getRootComponentType(((MemberModel)this).getType()); Object var2 = null; int[] var3 = this.getDimensionsModel().getArrayDimensions(); var2 = Array.newInstance(var1, var3); ((ExecutableModel)this).setResult(var2); } public void resetMembers() { this.detailsMember = null; } }